package com.vhall.component.entity.gift.vo;


import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;
import org.hibernate.validator.constraints.URL;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author xianglei
 * @date 2021/2/1
 */
@Data
public class GiftAddReqVo implements Serializable {

    private static final long serialVersionUID = -1840537349909886229L;

    /**
     * 创建者ID
     */
    @ParamName("creator_id")
    @NotBlank(message = "创建者ID不能为空")
    @Length(max = 30, message = "creator_id最大长度不能超过30")
    private String creatorId;


    /**
     * 创建者昵称
     */
    @ParamName("creator_nickname")
    private String creatorNickname;

    /**
     * 创建者头像
     */
    @ParamName("creator_avatar")
    @URL(message = "creator_avatar地址格式无效")
    private String creatorAvatar;

    /**
     * 表情名称
     */
    @NotBlank(message = "表情名称不能为空")
    private String name;

    /**
     * 表情价格
     */
    @NotNull(message = "表情价格不能为空")
    private BigDecimal price;

    /**
     * 表情图片地址
     */
    @ParamName("image_url")
    @NotBlank(message = "表情图片地址不能为空")
    @URL(message = "image_url地址格式无效")
    private String imageUrl;

    /**
     * 表情来源类型：0 web 1 app
     */
    @ParamName("source_type")
    @Range(min = 0, max = 1)
    private Integer sourceType;

    /**
     * 表情来源状态：0 系统默认 1 前台用户添加
     */
    @ParamName("source_status")
    @Range(min = 0, max = 1)
    @NotNull(message = "表情来源状态不能为空")
    private Integer sourceStatus;

}
